﻿using System;
using ApplicationGenerator.BusinessModule.Interfaces;

namespace ApplicationGenerator.BusinessModule.MetaElements
{
    /// <summary>
    /// Definicja meta słownika
    /// </summary>
    internal class MetaDictionary : IMetaDictionary
    {
        /// <summary>
        /// Nazwa meta słownika
        /// </summary>
        public string DictionaryName
        {
            get;
            internal set;
        }

        /// <summary>
        /// Typ meta słownika
        /// </summary>
        public Type DictionaryType
        {
            get;
            internal set;
        }

        /// <summary>
        /// Kolekcja pól w meta słowniku
        /// </summary>
        public IMetaDictionaryItemCollection MetaDictionaryItems
        {
            get;
            private set;
        }

        /// <summary>
        /// Konstruktor
        /// </summary>
        public MetaDictionary()
        {
            MetaDictionaryItems = new MetaDictionaryItemCollection();
        }

        /// <summary>
        /// Przeciążony konstruktor
        /// </summary>
        /// <param name="dictionaryName">Nazwa meta wartości słownikowej</param>
        /// <param name="dictionaryType">Typ meta wartości słownikowej</param>
        public MetaDictionary(string dictionaryName, Type dictionaryType)
        {
            DictionaryName = dictionaryName;
            DictionaryType = dictionaryType;
            MetaDictionaryItems = new MetaDictionaryItemCollection();
        }
    }

}
